/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package framework.agendaFactory;

import framework.agendaFactory.lib.InternalFrame;
import framework.agendaFactory.lib.ToolBar;

/**
 *
 * @author Sergio Carlos Peres
 */
public abstract class AgendaFactory {
    
    public boolean controle;
    
    public abstract java.awt.event.ActionListener criarActionListener(framework.agendaFactory.lib.InternalFrame internalFrame);
    // Cria Panel 
    public abstract InternalFrame criaInternalFrame(String title, AgendaFactory factory);
    // Barra de Ferramentas
    public abstract ToolBar criaToolBar(java.awt.event.ActionListener listener);
    // Paunel de Abas
    public abstract javax.swing.JTabbedPane criaTabbebPane(javax.swing.JPanel[] panel, String[] titulos);
    // Cria Paineis
    public abstract javax.swing.JPanel[] criaPanel(java.awt.event.ActionListener listener);
    
    /**
     * Para ADD um ToolBar ao JFrame ou JIntermalFrame.
     * 
     * Para utilizar este metodo na JFrame ou JIntermalFrame você deve 
     * utilizar o seguinte comando: this.getContentPane().setLayout(layout);
     * 
     * @param container
     * @param toolBar
     * @return 
     */
    public abstract javax.swing.GroupLayout criaLayout(java.awt.Container container, ToolBar toolBar);
    /**
     * Para ADD um ToolBar e um TabbedPane ao JFrame ou JIntermalFrame.
     * 
     * Para utilizar este metodo na JFrame ou JIntermalFrame você deve 
     * utilizar o seguinte comando: this.getContentPane().setLayout(layout);
     * 
     * @param container
     * @param toolBar
     * @param tabbedPane
     * @return 
     */
    public abstract javax.swing.GroupLayout criaLayout(java.awt.Container container, ToolBar toolBar, javax.swing.JTabbedPane tabbedPane);
    
    public abstract javax.swing.JTable getTabelaLista();
    
    public abstract framework.groups.GroupStrategy getStrategy();
    
    public abstract String getSQL();
    public abstract void setSQL(String sql);
    public abstract void setParametroConexao();
}
